This section provides background information related to the present disclosure which is not necessarily prior art.
Tire pressure monitoring systems have been developed, including a tire pressure monitor sensor (TPMS) that is mounted to each wheel for sending signals to a central receiving unit aboard a vehicle for providing information regarding the tire pressure and temperature. Each of the tire pressure monitor sensors includes a respective radio frequency (RF) transmitter that transmits an RF signal in response to the receipt of an LF (low frequency) activation signal. The RF signal includes both an identifier code and an indicator of tire pressure and temperature. Each TPMS is manufactured with a unique identification number which is sent as part of the radio transmission. The IDs of the TPMS's fitted to the vehicle are given to the vehicle so that the vehicle can discriminate between transmissions from its own TPMS's and ones from another vehicle.
During the manufacture of a vehicle, and when the vehicle tires are rotated, the sensor identification and location needs to be stored in the vehicle receiving unit. In order to store the tire pressure monitor sensor identification, the tire pressure monitor sensors need to be activated using an LF antenna coil providing an activate signal. Upon proper activation, the TPMS then transmits its identification as well as the tire pressure. Generally, the transmission from the TPMS is in the form of a radio transmission. Any tool used to obtain the TPMS ID has to make sure that the ID obtained is in fact the correct one, and not from a TPMS transmitting nearby.
Some aftermarket TPMS sensors are programmable sensors that are programmed by receiving low frequency data frames at approximately 125 kH. For tire pressure monitor sensors, it is important to ensure that the program is transferred accurately from the programming tool to the programmable sensor. Accordingly, a system, such as a cyclic redundancy check (CRC), is employed so that the receiving TPMS sensor can validate the data received from the programming tool.
A CRC is a form of integrity checksum. It is a method for determining errors in the received data by grouping the bytes of data into a block and calculating a cyclic redundancy check (CRC). The CRC is usually appended to the end of the data frame. The receiver of the frame will then perform the same calculation of the data to generate its own CRC and then compare it against the CRC that was transmitted in the frame. By way of example, a transmitted frame including Data 0, Data 1, Data n, Data n+1, and a CRC value would be confirmed by taking the sum of Data 0+Data 1+Data 2+Data 3=CRC. Thus, the system confirms that the calculated sum value of Data 0 through Data 3 is equal to the CRC that was transmitted with the transmitted data frame. This process would be carried out for each transmitted data frame just to confirm full receipt of the data within each transmitted frame. In a typical communications protocol that does not rely upon the acknowledgement of each individual frame transmitted, or the inclusion of a sequence byte in the data (which is a security vulnerability), it is possible that the receiver may fail to receive such a frame and will ultimately fail to program correctly.
For TPMS, it is not advisable to allow anyone to have the ability to reprogram the sensors, and so encryption of the programming process is used and the absence of unencrypted data helps maintain the security of the system. TPMS sensors may run their processing units at low speed in order to preserve battery life, and may also turn off parts of their circuitry that are not needed. For example, it may be that a TPMS sensor cannot both process low frequency (LF) data and transmit UHF at the same time. One method of programming a sensor using LF is to send data in frames, and for the sensor to validate the data, and then signal using UHF to indicate that the frame was received correctly, before the programming tool sends more LF data. This is a fairly slow process, so improved quicker processes are desired.
Another method of programming a sensor using LF is for the sensor to validate the data, and then only to use UHF to signal that it has detected a problem with the data, or that the process has been successfully completed. In a system where data is being transferred to a programmable sensor by LF in a succession of frames which contains a CRC, it takes time for the TPMS sensor to react to faulty data, and to then transmit a UHF frame to request that the LF data is re-sent.
One solution to this problem would be to leave a large time period between LF data frames, so that the TPMS sensor would have time to request re-sending before the next LF frame is sent. However, this would result in an unnecessarily slow programming process in the usual case where the data is transferred without corruption. If a new LF data frame is sent before the TPMS sensor could have requested re-sending the previous frame, then it is important to know that the tool sending the LF data and the receiving TPMS sensor are both in step. For example, it is possible that the tool might not receive the UHF request so that the TPMS sensor could interpret the next new LF data frame as being the re-sent LF frame.
The present disclosure provides a method of programming a tire pressure monitor sensor to solve the above-described problem. In particular, the present disclosure utilizes a programming tool that transmits LF data frames to the TPMS sensor that includes a cyclic redundancy check (CRC) code with each data frame. The starting point for the subsequent data frame will then start with the CRC code received from the previous frame and will end with a new CRC code. Accordingly, the CRC code received from the previous frame will be used to ensure that the next data frame matches that CRC code as the starting point for that frame. This will ensure that the data frames cannot get out of sequence and will allow the ability to quickly identify where the data frames have gone out of sync and allow the programming tool to quickly react.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.